package plus.xj17520.org.domain;

import cn.hutool.core.lang.RegexPool;
import plus.xj17520.basic.domain.BaseDomain;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import javax.validation.constraints.*;
import java.util.*;

@Data
@AllArgsConstructor
@NoArgsConstructor
//@table 就是将表名与实体类名称做关系映射
@Table(name = "t_employee")
public class Employee implements BaseDomain {
//    alt + 鼠标左键
    //这个@id 是为了标识该字段对应数据库的主键id
    @Id
    @GeneratedValue(generator = "JDBC")
    private Long id;
    @NotBlank(message = "用户名不能为空")
    private String username;
    @Email(message = "请输入正确的邮箱")
    private String email;
    //这个就是正则
    @Pattern(regexp = RegexPool.MOBILE,message = "请输入正确的手机哈")
    @NotBlank(message = "手机号不能为空")
    private String phone;
    private String password;
//    @Min(value = 0,message = "最小年纪不能小于0岁")
//    @Max(value = 200,message = "最小年纪不能小于0岁")
    private Integer age;
    private Integer state;
    private Long departmentId;
    private Long shopId;
    private Boolean shopAdmin;
    private Boolean del;
    private String salt;
    //忽略该字段与数据的映射
    @Transient
    private Department dept;


//    public static void main(String[] args) {
//        //这个是线程安全的 vector
//        Vector vector = new Vector();
//        //特性: 有序 有下标 数组结构 查询快 增删慢
//        ArrayList<Object> objects = new ArrayList<>();
//        //特性:链表结构 查询慢,增删快
//        LinkedList<Object> objects1 = new LinkedList<>();
//        //
//        TreeSet<Object> objects2 = new TreeSet<>();
//        HashSet<Object> objects3 = new HashSet<>();
//        HashMap<Object, Object> objectObjectHashMap = new HashMap<>();
//        //jdk 1.7 string 类型存放的位置叫常量池
//        //jdk1.8 位置叫元空间
//        String a = "abc";
//        String b = "cba";
//        //封装类的特性: 自动拆装箱
//        //jdk1.5之前的特性:缓存:-128 ~127
//        //jdk1.5之后:最小值还是-128 最大值是可以通过jvm设置的,默认值还是127
//        Integer integer = 128;
//        Integer integer1 = 128;
//
//        if (integer==integer1){
//            System.out.println("相等");
//        }
//    }
}
